/* Copyright 2012 Google Inc.  All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License.  You may obtain a copy
of the License at: http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distrib-
uted under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied.  See the License for
specific language governing permissions and limitations under the License. */

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
/* MOE:begin_strip (Kennedy is internal) */
/* Standard Google input boxes, from the Kennedy spec.
   kd_compontents.css, go/kennedyspec. */
/* MOE:end_strip */
.cm-frame input[type=text],
.cm-crowd-report-form input[type=text] {
  height: 29px;
  background-color: #FFF;
  padding-left: 8px;
  color: #333;
  border: 1px solid #d9d9d9;
  border-top: 1px solid #c0c0c0;
  display: inline-block;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 1px;
  -webkit-appearance: none;
}
.cm-frame input[type=text]:hover,
.cm-crowd-report-form input[type=text]:hover {
  border: 1px solid #b9b9b9;
  border-top: 1px solid #a0a0a0;
  -webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
  -moz-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
  box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
}
.cm-frame input[type=text]:focus,
.cm-crowd-report-form input[type=text]:focus {
  -webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.3);
  -moz-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.3);
  box-shadow: inset 0px 1px 2px rgba(0,0,0,0.3);
  outline: none;
  border: 1px solid #4d90fe;
}
.cm-body, .cm-frame, .cm-frame input, .cm-frame button,
.cm-popup, .cm-popup input, .cm-popup select, .cm-popup textarea {
  font-size: 13px;
  font-family: arial, sans-serif;
  color: #222;
  margin-left: 0;
  margin-right: 0;
}
.cm-body {
  font-family: arial, sans-serif;
}
.cm-embedded {
  overflow: auto;
}
.cm-hidden {
  /* cm-hidden is a utility class that overrides all other classes. */
  display: none !important;
}
.cm-layout-rtl .cm-panel-inner,
.cm-layout-rtl .cm-about-text,
.cm-layout-rtl .cm-mapbutton,
.cm-layout-rtl .cm-footer {
  direction: rtl;
}

/* Style for a single box container. */
.cm-frame {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

/* Headings */
.cm-header h1,
.cm-tab-panel h1,
.cm-panel h1,
.cm-map-title {  /* map title */
  font-size: 18px;
  font-weight: normal;
  color: #d43;
  display: inline;
}
.cm-map-title-picker:hover, .cm-edit .cm-map-title:hover {
  text-decoration: underline;
}
.cm-header h1 {  /* product heading */
  font-size: 16px;
}
/* dialog headings */
.cm-header h2, .cm-panel h2, .cm-tab-panel h2, .cm-popup h2 {
  font-size: 16px;
  font-weight: normal;
  color: #333;
  display: inline-block;
}
.cm-panel h3, .cm-tab-panel h3, .cm-popup h3 {  /* item headings */
  font-size: 14px;
  font-weight: normal;
}

/* Tables */
.cm-frame table, .cm-popup table {
  border-collapse: collapse;
}
.cm-frame tr, .cm-popup tr {
  vertical-align: baseline;
}
.cm-frame th, .cm-popup th {
  text-align: left;
}

/* Links */
.cm-popup h2 + a {
  float: right;
}
.cm-panel a, .cm-tab-panel a, .cm-footer a, .cm-popup a, .cm-nav-list a {
  text-decoration: none;
}
.cm-panel a:link, .cm-tab-panel a:link, .cm-footer a:link, .cm-popup a:link, .cm-nav-list a:link {
  color: #1155cc;
}
.cm-panel a:visited, .cm-tab-panel a:visited, .cm-footer a:visited, .cm-popup a:visited, .cm-nav-list a:visited {
  color: #6611cc;
}
.cm-panel a:hover, .cm-tab-panel a:hover, .cm-footer a:hover, .cm-popup a:hover, .cm-nav-list a:hover {
  text-decoration: underline;
}

/* Panel */
.cm-panel .cm-layer-description,
.cm-tab-panel .cm-layer-description,
.cm-importer .cm-layer-description,
.cm-panel .cm-layer-attribution,
.cm-tab-panel .cm-layer-attribution,
.cm-tab-panel .cm-warning,
.cm-panel .cm-warning,
.cm-tab-panel .cm-timestamp,
.cm-panel .cm-timestamp,
.cm-preview.cm-layer-description {
  font-size: 11px;
  color: #999;
}

.cm-panel .cm-layer-legend-box,
.cm-tab-panel .cm-layer-legend-box,
.cm-preview.cm-layer-legend {
  font-size: 11px;
  color: #222;
}

.cm-layer-legend-box > fieldset {
  border: 1px solid #e0e0e0;
  margin: 3px 0 2px 0;
  width: 95%;
}

.cm-layer-legend-box > fieldset > legend {
  margin-left: 0;
  padding: 0;
}

/* Layout changes for collapsed panel */
.cm-panel-collapsed .cm-panel {
  width: 0;
  display: none;
}
.cm-panel-float .cm-map-wrapper,
.cm-panel-collapsed .cm-map-wrapper,
.cm-panel-collapsed.cm-panel-left .cm-map-wrapper {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.cm-embedded.cm-panel-left .cm-map-wrapper {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Panel expand/collapse buttons */
.cm-collapse, .cm-expand {
  position: absolute;
  top: 0;
  width: 19px;
  height: 19px;
  text-align: center;
  background: #fff;
  z-index: 4;
}
.cm-collapse {
  right: 0;
  border-left: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}
.cm-embedded .cm-collapse, .cm-embedded .cm-expand {
  visibility: hidden !important; /* don't show buttons in embedded mode */
}
.cm-expand {
  right: 0;
  border-left: 1px solid #999;
  border-bottom: 1px solid #999;
  visibility: hidden; /* show expand button only when panel is collapsed */
}
.cm-panel-collapsed .cm-expand {
  visibility: visible;
}
.cm-collapse-icon, .cm-expand-icon {
  margin: 3px 2px 0 0;
  width: 6px;
  height: 12px;
  opacity: 0.7;
}
.cm-panel-left .cm-expand {
  left: 0;
  border-top: none;
  border-left: none;
  border-right: 1px solid #999;
}
/* TODO(arb): do we need to register that we are using these sprites? */
.cm-collapse-icon, .cm-panel-left .cm-expand-icon {
  background: url('//maps.gstatic.com/mapfiles/hpimgs28.png') -155px -26px;
}
.cm-expand-icon, .cm-panel-left .cm-collapse-icon {
  background: url('//maps.gstatic.com/mapfiles/hpimgs28.png') -132px -26px;
}
.cm-searchbox {
  width: 240px;
  border-left-width: 1px !important;
}
.cm-searchbox:hover, .cm-searchbox:focus {
  border: 1px solid #4d90fe;
}
.cm-body .pac-item {
  padding: 0 8px; /* left-align search results with location query */
}
/* NOTE(arb): The lack of a space in the following is on purpose! */
.cm-panel-collapsed.cm-panel-left .cm-searchbox {
  margin-left: 24px; /* move over to avoid the expand button on the left */
}

/* Floating panel */
.cm-panel-float .cm-panel {
  position: absolute;
  top: 5px;
  left: 5px !important;
  right: inherit !important;
  height: auto !important;
  max-height: 98%;
  opacity: 0.9;
  overflow-y: hidden;
  z-index: 2;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}
.cm-panel-float .cm-panel-inner {
  position: static; /* Let the panel height depend on its content. */
}
/* Make the expand button also float, and enlarge it to match the searchbox */
.cm-panel-float .cm-expand, .cm-panel-float .cm-collapse {
  padding: 2px 2px 1px;
}
.cm-panel-float .cm-collapse {
  padding-top: 3px;
}
.cm-panel-float .cm-expand {
  border: 1px solid #999;
  padding: 2px 1px 1px 3px;
  top: 5px;
  left: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}
.cm-panel-float.cm-panel-left .cm-searchbox {
  margin-left: 320px; /* Move the searchbox over to avoid the panel... */
}
.cm-panel-float.cm-panel-collapsed.cm-panel-left .cm-searchbox {
  margin-left: 36px; /* ...but not when the panel is collapsed... */
}
.cm-embedded .cm-searchbox {
  margin-left: 5px !important; /* ...and not in embedded mode. */
}

/* Panel contents */
.cm-panel-header {
  position: relative;
  padding: 6px 12px;
  margin: 12px 0 0;
}

/* Make the map title and description appear editable. */
.cm-edit .cm-panel-header {
  cursor: pointer;
}
.cm-map-title {
  width: 260px;
}
.cm-edit .cm-map-title {
}
.cm-edit .cm-map-title:after {
  content: url('edit_pencil.png');
  vertical-align: -20%;
  opacity: .40;
  /* @alternate */ filter:alpha(opacity=40);
  /* @alternate */ filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0.4);
}
.cm-embedded .cm-map-title {
  display: inline;
  width: 450px !important;
}
.cm-draft-indicator {
  padding: 0 2px;
  margin-right: 0.3em;
  border: 1px solid #666;
  cursor: default;
  color: #666;
}
.cm-map-publisher {
  color: #999;
  font-size: 11px;
}
.cm-map-description, .cm-preview.cm-map-description {
  font-size: 12px;
  color: #222;
  margin: 0 12px 12px;
}
.cm-panel-links {
  font-size: 11px;
  margin: 12px;
}
.cm-panel {
  background: #fff;
  border-left: 1px solid #ccc;
  float: right;
  position: relative;
  width: 306px;
  height: 100%;
}
.cm-panel-left .cm-panel {
  float: left;
  border-left: none;
  border-right: 1px solid #ccc;
}
.cm-panel-inner {
  overflow-x: visible;
  overflow-y: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; /** IE 7 needs left and right set. */
}
.cm-embedded .cm-panel-inner {
  height: auto;
  top: 0;
  bottom: 0;
  border: 1px solid #ccc;
}
.cm-embedded.cm-touch .cm-panel-inner {
  height: 100%;
  top: auto;
  bottom: auto;
}
.cm-panel-outer-header {
  overflow-x: visible;
  margin-right: 6px;
}
.cm-panel-scroll {
  overflow: auto;
}
.cm-panel-dock .cm-panel-scroll {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}
.cm-sublayers {
  position: relative;
  margin-top: 10px;
  margin-left: 20px;
}
.cm-panel-layers {
  margin: 12px;
}
.cm-layer-entry {
  position: relative;
  margin: 0 0 18px;
}
.cm-layer-entry .cm-panel-links {
  margin: 0;
}
.cm-layer-entry.cm-contains-promoted-sublayer > * > .cm-layer-entry {
  display: none;
}
.cm-layer-entry.cm-contains-promoted-sublayer > * > .cm-layer-entry.cm-promoted-sublayer {
  display: block;
}
.cm-panel .cm-layer-title,
.cm-tab-panel .cm-layer-title {
  font-size: 14px;
  line-height: 16px;
}
.cm-embedded .cm-panel {
  float: none;
  position: absolute;
  width: 100%;
  z-index: 1;
  max-width: 500px;
  filter: alpha(opacity=90);
  border: none;
}
.cm-panel-button,
.gm-style .cm-panel-button,
.cm-panel .cm-close-button,
.cm-embedded .cm-panel {
  display: none;
}
.cm-panel.cm-open,
.cm-embedded .cm-panel-button,
.cm-embedded .cm-panel .cm-close-button {
  display: block;
}
.cm-panel input[type=checkbox] {
  margin-bottom: -2px;
}
.cm-layer-filter-info {
  display: block;
  font-size: 11px;
  color: #999;
}
.cm-layer-filter {
  margin: 12px;
}
.cm-frame.cm-panel-below input.cm-layer-filter {
  display: none;
}
.cm-frame.cm-touch .cm-layer-filter {
  display: none;
}
.cm-frame .cm-layer-filter input:hover,
.cm-frame .cm-layer-filter input:focus {
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
}

/* Map */
.cm-map-wrapper {
}
.cm-panel-left .cm-map-wrapper {
  margin-right: 0;
  margin-left: 252px;
}
.cm-embedded .cm-map-wrapper {
  width: auto;
  height: 100%;
  margin-right: 0;
}
.cm-map {
  height: 100%;
}
.cm-map-copyright {
  font-family: arial, sans-serif;
  font-size: 10px;
  background: #f5f5f5;
  opacity: 0.7;
  padding: 0 5px;
  margin-right: -15px;
}
.cm-map-copyright, .cm-map-copyright a {
  color: #000;
}

/* Popups and dialogs */
.cm-popup {
  line-height: 18px;
  position: absolute;
  border: 1px solid #ccc;
  padding: 24px;
  z-index: 1;
  background-color: white;
  min-width: 240px;
  max-width: 560px;
  max-height: 75%;
  overflow: auto;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  -ms-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.cm-popup h2:first-child {
  margin-top: 0;
}
.cm-popup > :first-child {
  margin-top: 0;
}
.cm-popup > :last-child {
  margin-bottom: 0;
}
.cm-popup .cm-close-button {
  margin: 24px;
}
.cm-close-button {
  background: url('x.png') no-repeat center center;
  position: absolute;
  top: 0;
  right: 0;
  margin: 12px;
  opacity: 0.7;
  filter: alpha(opacity=70);
  cursor: pointer;
  width: 12px;
  height: 12px;
}
.cm-layout-rtl .cm-close-button {
  right: auto;
  left: 0;
}

/* Diff popup */
.cm-popup.cm-diff {
  max-width: 90%;
  max-height: 90%;
  word-break: break-all;
  overflow: auto;
}

/* Share popup */
.cm-share label {
  display: inline-block;
  padding-bottom: 4px;
}
.cm-layout-rtl .cm-share {
  text-align: right;
}
.cm-share .cm-shorten {
  margin: 0.5em 0;
}
.cm-share .cm-shorten-checkbox {
  margin-bottom: -1px;
}
.cm-share ul li {
  margin-bottom: 16px;
}
.cm-share li {
  line-height: 17px;
}
.cm-share ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.cm-share input[type=text] {
  width: 100%;
  height: 29px;
  line-height: 27px;
  padding-left: 4px;
  color: #333;
  font-size: 13px;
  font-family: arial, sans-serif;
  border: 1px solid #d9d9d9;
  border-top: 1px solid silver;
  display: inline-block;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.cm-social a {
  margin-right: 10px;
}
.cm-social img, .cm-social iframe {
  vertical-align: middle;
}
/* we need this selector to be more specific than .cm-social a rule above */
a.cm-gplus-share-button {
  height: 32px;
  width: 32px;
  margin-right: 25px;
}
.cm-gplus-img {
  background: url('https://ssl.gstatic.com/images/icons/gplus-32.png') no-repeat center center;
  vertical-align: middle;
  height: 32px;
  width: 32px;
  display: inline-block;
}
.cm-facebook-like-button {
   border: none;
   overflow: hidden;
   width: 90px;
   height: 20px;
}
.cm-twitter-share-button {
  width: 60px;
  height: 20px;
  margin-right: 25px;
  border: none;
  overflow: hidden;
}
.cm-twitter-img {
  background: url('tweetbutton.png') no-repeat;
  display: inline-block;
}
div.cm-social {
  text-align: left;
  width: 280px;
  height: 32px;
}

/* "Enter an address" autocomplete box */
.cm-mapbutton input {
  font-family: arial, sans-serif;
  font-size: 12px;
  border: 0;
  width: 250px;
  padding: 6px 9px 7px;
}
.cm-mapbutton input:hover, .cm-mapbutton input:focus {
  outline: none;
}

/* Language selector */
.cm-langSpan {
  padding: 0 0 5px 5px;
}
.cm-flagSpan {
  margin-right: 3px;
}
span.cm-g-flag {
  vertical-align: middle;
  zoom: .70;
  -moz-transform: scale(.70);
}

/* Footer */
.cm-footer {
  background-color: white;
  border-top: 1px solid #ccc;
  color: #666;
  font-size: 12px;
  max-height: 24px;
  overflow: hidden;
  padding: 6px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cm-embedded.cm-footer-shadow .cm-footer,
.cm-panel-below.cm-footer-shadow .cm-footer {
  padding: 0 6px 2px;
  border: none;
}
.cm-embedded .cm-footer {
  padding: 4px 6px;
  text-align: left;
  font-size: 11px;
}
.cm-html-editor .cm-preview.cm-footer {
  min-height: 0;
  padding: 6px;
  text-overflow: initial;
}
.cm-language-picker-container {
  display: inline-block;
}
.cm-tabbed.cm-embedded .cm-language-picker-container,
.cm-tabbed.cm-panel-below .cm-language-picker-container {
  display: none;
}
.cm-language-picker-icon {
  display: inline-block;
  height: 15px;
  width: 15px;
  margin: 0 5px;
  vertical-align: text-top;
  background-image: url('language_picker.png');
}


/* Standard Google checkbox styles */
input[type=checkbox], input[type=checkbox]:checked {
  -webkit-appearance: none;
  background: inherit;
  width: 15px;
  height: 15px;
  border: 1px solid #dcdcdc;
  margin: 0 3px -1px 0;
  border-radius: 1px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
  overflow: visible;
  outline: none;
}
input[type=checkbox]:active {
  border-color: #c6c6c6;
  background: #ebebeb;
}
input[type=checkbox]:hover {
  border-color: #c6c6c6;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
}
input[type=checkbox]:checked::after {
  content: url('check_no_box.png');
  display: block;
  position: absolute;
  top: -6px;
  left: -5px;
}

/* Folder checkboxes */
.cm-checkbox-container {
  width: 20px;
  display: inline-block;
  vertical-align: top;
}
.cm-checkbox-folder-decoration {
  background: url('folder_border.png') no-repeat;
  height: 13px;
  margin: -18px 0 0 -2px;
}

/* About popup */
#cm-aboutText {
 display: none;
}

/* Menu for single-select layers */
.cm-single-select-button {
  width: 11px;
  height: 11px;
  display: inline-block;
  background: url('//maps.gstatic.com/mapfiles/hpimgs28.png') -123px 4px;
  border: 1px solid #c6c6c6;
  border-radius: 1px;
  float: right;
  padding-right: 5px;
  opacity: 0.5;
}
.cm-single-select-button.open {
  width: auto
}
.cm-sublayer-select {
  margin-top: 4px;
  margin-left: -2px;
  margin-bottom: 2px;
}
.cm-sublayer-picker {
  background: #fff;
  border: 1px solid #c6c6c6;
  padding: 0 0 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  position: relative;
  top: 11px;
  display: none;
  z-index: 1;
  width: auto;
  margin-right: 5%;
  float: right;
}
.cm-sublayer-picker ul {
  list-style: none;
  padding: 0;
  margin: 0;
  width: auto;
}
.cm-sublayer-picker li {
  font-weight: normal;
  display: block;
  float: none;
  padding: 5px 25px;
  color: #333;
  white-space: nowrap;
}
.cm-sublayer-picker li.selected {
  background: url('check_no_box.png') no-repeat left center;
}
.cm-sublayer-picker li:hover, #sublayer-picker li.selected {
  color: #222;
}
.cm-sublayer-picker li:hover {
  background-color: #f1f1f1;
}

/* Dropdown menu of available maps (cm.MapPicker) */
.cm-map-picker {
  padding: 0;
  margin: 0;
  list-style: none;
  min-width: 40px; /* override min-width:240px on cm-popup */
  z-index: 1;
}
.cm-map-picker li a, .cm-map-picker li a:visited, .cm-map-picker li a:link {
  display: block;
  padding: 6px 16px 6px 28px;
  color: #333;
  white-space: nowrap;
  text-decoration: none;
}
.cm-map-picker li.cm-selected {
  background: url('check_no_box.png') no-repeat left center;
}
.cm-map-picker li:hover {
  background-color: #f1f1f1;
}
.cm-map-picker-button {
  width: 11px;
  height: 11px;
  border: 1px solid #c6c6c6;
  border-radius: 1px;
  display: inline-block;
  background: url('//maps.gstatic.com/mapfiles/hpimgs28.png') -123px 4px;
  position: absolute;
  top: 12px;
  right: 0;
  opacity: 0.5;
}

.cm-map-title {
  cursor: default;
}

.cm-map-title:hover .cm-map-picker-button {
  opacity: 1;
}

.cm-embedded .cm-map-picker-button {
  right: 36px;
}

/* Login */
.cm-panel div.cm-login {
  z-index: 1;
  position: absolute;
  top: 3px;
  right: 6px;
  font-size: 12px;
}
.cm-panel div.cm-login a {
  font-size: 12px;
}
.cm-panel div.cm-login .user {
  font-weight: bold;
}

/* Opacity slider */
.cm-layer-entry .goog-slider-horizontal {
  position: relative;
  margin: 6px -1px;
  background: #ddd;
  border-radius: 3px;
  width: 100%;
  height: 7px;
  outline: none;
}
.cm-layer-entry .goog-slider-thumb {
  position: absolute;
  top: -5px;
  background: #fff;
  width: 17px;
  height: 17px;
  border-radius: 50%;
}
.cm-slider-circle {
  position: relative;
  top: 1px;
  left: 1px;
  background: #fff;
  width: 13px;
  border: 1px solid #aaa;
  height: 13px;
  border-radius: 50%;
}
.cm-layer-entry .cm-slider-circle:hover {
  border: 1px solid #666;
}
.cm-slider-dot {
  position: relative;
  top: 3px;
  left: 3px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #000;
}

/* Toolbar */
.cm-toolbar {
  font-size: 11px;
  padding: 6px;
  background: #eee;
  border-bottom: 1px solid #ddd;
}
.cm-toolbar a {
  white-space: nowrap;
}
.cm-toolbar a.cm-disabled,
.cm-toolbar a.cm-disabled:hover {
  color: #888;
  text-decoration: none;
  cursor: default;
}
.cm-toolbar a.cm-error {
  color: #d43;
}

/* Importer dialog */
.cm-importer {
  width: 375px;
  max-width: 375px;
}
.cm-importer-list {
  border: 1px grey inset;
  overflow: auto;
  position: relative;
}
.cm-layer-item, .cm-topic-item {
  position: relative;
  border-bottom: 1px solid #ebebeb;
  width: 100%;
  display: table;
  cursor: pointer;
}
.cm-layer-item.cm-layer-selected {
  background: #ffc !important;
}
.cm-importer .cm-map-title {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 32px 0 4px 0;
  border-bottom: 1px solid #ebebeb;
}
.cm-importer .cm-map-title:first-child {
  padding-top: 8px;
}
.cm-importer .cm-map-title > span {
  padding-left: 6px;
}
.cm-importer .cm-layer-title {
  display: inline-block;
  padding: 9px 0 9px 14px; /* padding-left to match triangle width */
}
.cm-importer .cm-triangle {
  position: absolute;
  width: 14px;
  height: 14px;
  background: url('triangle_right.png') no-repeat -4px -2px;
  background-size: 21px;
  cursor: pointer;
  margin-top: 8px;
}
.cm-importer .cm-triangle.cm-expanded {
  background-image: url('triangle_down.png') !important;
}
.cm-my-location-button {
  width: 27px;
  height: 27px;
  padding: 3px !important;
  background-image: url('my_location_160dpi.png') !important;
  background-size: 32px 32px !important;
  background-repeat: no-repeat !important;
}
.cm-my-location-button:hover {
  background-color: white !important;
}
/* Support for high density screens. */
@media screen and (-webkit-min-device-pixel-ratio:2) {
  .cm-importer .cm-triangle {
    background-image: url('triangle_right_2x.png') !important;
  }
  .cm-importer .cm-triangle.cm-expanded {
    background-image: url('triangle_down_2x.png') !important;
  }
  .cm-my-location-button {
    background-image: url('my_location_240dpi.png') !important;
  }
}
div.cm-layer-selected + div div.cm-layer-item,
div.cm-layer-selected + div div.cm-layer-item:hover {
  /* sets light background on children of a selected folder */
  background-color: #ffffec;
}
.cm-preview-link {
  display: inline-block;
  cursor: pointer;
  position: absolute;
}
a.cm-preview-link {
  width: 10px;
  height: 10px;
  background: url('external_link.png') no-repeat top left;
  background-size: 10px;
  bottom: 10px;
  right: 12px;
}
div.cm-preview-link {
  width: 16px;
  height: 16px;
  background: url('preview.png') no-repeat top left;
  background-size: 13px;
  margin-bottom: -1px;
  top: 10px;
  right: 10px;
  display: none;
}
.cm-layer-item:hover div.cm-preview-link {
  display: inherit;
  filter: alpha(opacity=55);
  opacity: 0.55;
}
.cm-layer-item:hover div.cm-preview-link.cm-no-preview,
div.cm-preview-link.cm-no-preview:hover {
  filter: alpha(opacity=20)!important;
  opacity: 0.2!important;
  cursor: auto;
}
div.cm-preview-link:hover, div.cm-preview-link.cm-preview-active {
  display: inherit;
  filter: alpha(opacity=100)!important;
  opacity: 1.0!important;
}
/* Support for high density screens. */
@media screen and (-webkit-min-device-pixel-ratio:2) {
  a.cm-preview-link {
    background-image: url('external_link_2x.png') !important;
  }
  div.cm-preview-link {
    background-image: url('preview_2x.png') !important;
  }
}
.cm-popup.cm-layer-preview {
  padding: 0;
  min-width: inherit;
  max-width: inherit;
  border-color: white;
}
.cm-layer-preview .cm-close-button {
  padding: 0;
}
.cm-layer-preview iframe {
  border: none;
  margin-bottom: -3px;
}
.cm-selected-count {
  margin-top: 12px;
  margin-left: 4px;
}
.cm-importer .cm-button-area {
  margin-top: 11px !important;
}

/* Topic selector */
.cm-topic-selector {
  max-width: 375px;
}
.cm-topic-selector-title {
  padding-right: 20px;
}
.cm-topic-selector-description {
  color: #666;
  padding-bottom: 10px;
}
.cm-topic-item {
  padding: 8px;
}
.cm-topic-item:hover {
  background: #ffc;
}
.cm-topic-item .cm-close-button {
  background: url('delete_trashcan.png') no-repeat center center;
  width: 14px;
  height: 18px;
  margin: 8px;
  opacity: 0.4;
}
.cm-topic-item .cm-close-button:hover {
  opacity: 1;
}

/* Tooltips */
.cm-tooltip {
  position: absolute;
  background: #feffcd;
  border: 1px gray solid;
  padding: 0 2px 0 2px;
  z-index: 1;
}

/* Map inspector, Layer inspector, and Collaborate dialog */
.cm-editors {
  width: 100%;
}
.cm-editors > tr > th, .cm-editors > tr > td {
  padding-top: 8px;
}
.cm-editors > tr:first-child > th, .cm-editors > tr:first-child > td {
  padding-top:  0;
}
.cm-editors > tr > th {
  font-weight: normal;
  color: #666;
  white-space: nowrap;
  width: 1%;
}
.cm-editors > .cm-text-input-row > th,
.cm-editors > .cm-text-editor > th,
.cm-editors > .cm-text-list-editor > th,
.cm-editors > .cm-url-input-row > th,
.cm-editors > .cm-url-editor > th {
  vertical-align: baseline;
}
.cm-editors > .cm-text-input-row input[type='text'],
.cm-editors > .cm-text-editor input[type='text'],
.cm-editors > .cm-text-list-editor input[type='text'],
.cm-editors > .cm-url-editor input[type='text'],
.cm-editors > .cm-textarea-row textarea,
.cm-editors > .cm-html-editor textarea {
  width: 100%;
  box-sizing: border-box;
  min-width: 6em;
}
.cm-editors > .cm-textarea-row > th,
.cm-editors > .cm-html-editor > th,
.cm-editors > .cm-layer-menu-editor > th,
.cm-editors > .cm-wms-menu-editor > th,
.cm-editors > .cm-lat-lon-box-editor > th {
  vertical-align: top;
  padding-top: 11px; /* align label with first line of textarea/select */
}
.cm-editors > .cm-textarea-row textarea,
.cm-editors > .cm-html-editor textarea {
  height: 6em;
  padding: 3px 2px;
  border: 1px solid #c0c0c0;
}
.cm-help-container {
  position: relative;
}
.cm-help-container label {
  display: inline-block;
  padding-right: 24px;
}
.cm-help-icon {
  width: 15px;
  height: 15px;
  background: url('question.png') no-repeat 0 1px;
  background-size: 14px;
  cursor: pointer;
  position: absolute;
  right: 6px;
  display: none;
}
.cm-editors tr:hover > th .cm-help-icon {
  display: inline-block;
}
.cm-editors-tooltip {
  max-width: 380px;
  background: #feffcd;
  border: 1px solid #ccc;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  padding: 2px 4px;
  z-index: 2;
}

/* Legend editor */
tr.cm-legend-editor {
  vertical-align: top !important;
}
div.cm-legend-items {
  max-height: 95px;
  overflow: auto;
}
.cm-legend-item {
  width: 100%;
  display: table-row;
}
.cm-legend-item > * {
  display: table-cell;
  vertical-align: top;
}
.cm-legend-graphic {
  display: inline-block;
  width: 11px;
  height: 11px;
  margin: 2px 7px 2px 2px;
  float: left;
}
.cm-legend-editor .cm-legend-graphic {
  margin-top: 3px;
}
.cm-legend-graphic.cm-legend-icon {
  width: 15px;
  height: 15px;
  margin: 0 5px 0 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cm-legend-graphic.cm-legend-line > * {
  height: 5px;
  border-bottom: 2px solid;
}
.goog-palette .cm-legend-graphic.cm-legend-polygon,
.cm-legend-editor .cm-legend-graphic.cm-legend-polygon {
  border: 1px solid;
  width: 11px;
  height: 11px;
}
.cm-layer-legend .cm-legend-graphic.cm-legend-polygon {
  border: 1px solid;
  width: 10px;
  height: 10px;
  margin: 1px 7px 2px 1px;
}
.cm-legend-editor .cm-legend-graphic {
  cursor: pointer;
}
.cm-legend-text {
  display: inline-block;
  margin-top: 1px;
}
.cm-legend-editor .cm-legend-text {
  width: 100%;
  cursor: pointer;
  padding: 1px 0 0 2px;
  margin: 0 0 3px -2px;
  font-size: 12px;
  word-break: break-all;
}
.cm-legend-editor .cm-legend-text:last-child {
  margin-bottom: 6px;
}
textarea.cm-legend-text {
  position: absolute;
  top: 0;
  left: 0;
  font-family: arial, sans-serif;
  border: none;
  cursor: auto !important;
}
.cm-legend-text.cm-empty {
  font-style: italic;
  color: #999;
}
.goog-palette-table {
  border: none !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 1px;
}
.goog-palette-cell {
  padding-top: inherit !important;
  border: none !important;
}
.goog-palette-cell-hover {
  border: 1px solid black;
}
.cm-legend-editor .cm-close-button {
  display: inline-block;
  position: static;
  padding: 6px;
  height: 11px;
  width: 11px;
  margin: 0 6px 0 10px;
}

/* WMS layer editor */
/* TODO(romano): Improve UI of WMS layer editor. */
.cm-editors > .cm-layer-menu-editor select,
.cm-editors > .cm-wms-menu-editor select {
  width: 100%;
}
.cm-wms-menu-editor-message {
  font-style: italic;
}

/* Editors */
.cm-html-editor .cm-disclosure {
  margin: 4px 0 0;
}
.cm-html-editor .cm-disclosure .cm-triangle {
  display: inline-block;
  width: 9px;
  color: #666;
  margin-right: 2px;
  font-size: 9px;
  cursor: default;
}
.cm-html-editor .cm-disclosure .cm-label {
  color: #666;
  font-size: 12px;
  cursor: default;
}
.cm-html-editor .cm-disclosure:hover .cm-triangle {
  color: #000;
}
.cm-html-editor .cm-preview {
  width: 100%;
  max-width: 391px; /* total outside width 400px */
  min-height: 2em;
  max-height: 8em;
  overflow: auto;
  border-left: 1px solid #c0c0c0;
  padding: 0 4px;
  margin-top: 2px;
}
.cm-html-editor .cm-validation-error {
  display: inline;
}

.cm-number-editor input {
  width: 4em;
}
.cm-number-editor .cm-validation-error {
  display: inline;
  margin-left: 0.5em;
}

.cm-lat-lon-box-editor table.cm-extents {
  width: 12em;
  float: left;
  margin-right: 1em;
}
.cm-lat-lon-box-editor table.cm-extents tr:first-child td {
  padding-top: 0; /* outer cell already has 8px padding-top, don't double up */
}
.cm-lat-lon-box-editor table.cm-extents td {
  text-align: center;
  white-space: nowrap;
}
.cm-lat-lon-box-editor table.cm-extents input {
  width: 5.5em;
}
.cm-lat-lon-box-editor .cm-west {
  padding-right: 1.5em;
}
.cm-lat-lon-box-editor .cm-copy-viewport {
  padding: 4px 0 6px;
}
.cm-lat-lon-box-editor .cm-copy-viewport input {
  margin-right: 4px;
}
.cm-lat-lon-box-editor .cm-box-size-label {
  font-size: 11px;
}
.cm-lat-lon-box-editor .cm-viewport-info {
  font-size: 11px;
  line-height: 12px;
  display: inline-block;
  color: #d43;
  margin-top: 6px;
}
.cm-validation-error {
  display: block;
  font-size: 11px;
  color: #d43;
}

/* Question list, question, and choice editors */
.cm-editors .cm-question-editor > th,
.cm-editors .cm-question-editor > th .cm-help-container {
    padding: 0;
    width: 0;
}
.cm-question-editor .cm-button,
.cm-question-list-editor .cm-button {
  margin-top: 8px;
  margin-bottom: 4px;
}
.cm-question-container, .cm-choice-container {
  position: relative;
  padding: 8px 32px 8px 8px;
  border: 1px solid #ddd;
  margin-bottom: 4px;
  margin-left: -1px;
}
.cm-choice-container {
    margin-right: -24px;
}
.cm-question-container:hover {
    background: #ffe;
}
.cm-choice-container:hover {
    background: #efe;
}
.cm-question-container .cm-close-button,
.cm-choice-container .cm-close-button {
  margin: 6px;
  opacity: 0.4;
}
.cm-question-container .cm-close-button:hover,
.cm-choice-container .cm-close-button:hover {
  opacity: 1;
}
.cm-question-container .cm-editors > tr > th {
    width: 80px;
}

/* Collaborate dialog */
.cm-share-emailer {
  width: 400px;
}
.cm-share-emailer label + input {
  margin-left: 12px;
}
.cm-email-error {
  color: #d43;
}

/* Standard Google button styles */
.cm-popup .cm-button-area {
  margin: 24px 0 0;
}
.cm-button-area .cm-button {
  margin-right: 14px;
}
.cm-button, .cm-body .cm-button {
  box-sizing: border-box;
  cursor: default;
  display: inline-block;
  min-width: 72px;
  height: 29px;
  line-height: 27px;
  /* @alternate */ border:1px;
  font-size: 11px;
  font-family: arial, sans-serif;
  font-weight: bold;
  border-radius: 2px;
  /* @alternate */ border:1px solid #505050;
  text-align: center;
  padding: 0 8px;
  /* @alternate */ border:1px solid rgba(0, 0, 0, 0.1);
  color: #444;
  background: #f5f5f5;
  cursor: default;
  /* @alternate */ background-image:-webkit-linear-gradient(top, #f5f5f5, #f1f1f1);
  /* @alternate */ background-image:linear-gradient(top, #f5f5f5, #f1f1f1);
}
.cm-frame .cm-button, .cm-popup .cm-button {
  font-size: 12px;
  font-family: arial, sans-serif;
  font-weight: 500;
  -webkit-appearance: none;
}
.cm-button:hover {
  border: 1px solid #c6c6c6;
  color: #222;
  background: #f8f8f8;
  /* @alternate */ background-image:-webkit-linear-gradient(top, #f8f8f8, #f1f1f1);
  /* @alternate */ background-image:linear-gradient(top, #f8f8f8, #f1f1f1);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.cm-button:active {
  background: #f6f6f6;
  /* @alternate */ background-image:-webkit-linear-gradient(top, #f6f6f6, #f1f1f1);
  /* @alternate */ background-image:linear-gradient(top, #f6f6f6, #f1f1f1);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.cm-button-group .cm-button {
  margin-left: 0;
  margin-right: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}
.cm-button-group .cm-button:first-child,
.cm-layout-rtl .cm-button-group .cm-button:last-child {
  border-right-color: transparent;
  margin-left: 0;
  margin-right: 0;
  -webkit-border-radius: 2px 0 0 2px;
  border-radius: 2px 0 0 2px;
}
.cm-button-group .cm-button:last-child,
.cm-layout-rtl .cm-button-group .cm-button:first-child {
  margin-left: -1px;
  margin-right: 0;
  -webkit-border-radius: 0 2px 2px 0;
  border-radius: 0 2px 2px 0;
}
.cm-button.cm-selected {
  border: 1px solid #ccc;
  color: #333;
  background: #eee;
  /* @alternate */ background-image: -webkit-linear-gradient(top, #eee, #e0e0e0);
  /* @alternate */ background-image: linear-gradient(top, #eee, #e0e0e0);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.cm-button.cm-submit {
  border: 1px solid #3079ed;
  color: #fff;
  background: #4d90fe;
  /* @alternate */ background-image:-webkit-linear-gradient(top, #4d90fe, #4787ed);
  /* @alternate */ background-image:linear-gradient(top, #4d90fe, #4787ed);
}
.cm-button.cm-submit:hover {
  border: 1px solid #2f5bb7;
  color: #fff;
  background: #357ae8;
  /* @alternate */ background-image:-webkit-linear-gradient(top, #4d90fe, #357ae8);
  /* @alternate */ background-image:linear-gradient(top, #4d90fe, #357ae8);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.cm-button.cm-submit:active {
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
}
.cm-button.cm-submit[disabled] {
  background: #4d90fe;
  filter: alpha(opacity=50);
  opacity: 0.5;
}
.cm-button.cm-create, .cm-button.cm-wipe {
  border: 1px solid transparent;
  color: #fff;
  background: #d14836;
  /* @alternate */ background-image:-webkit-linear-gradient(top, #dd4b39, #d14836);
  /* @alternate */ background-image:linear-gradient(top, #dd4b39, #d14836);
  text-transform: uppercase;
}
.cm-button.cm-create:hover, .cm-button.cm-wipe:hover {
  border: 1px solid #b0281a;
  border-bottom-color: #af301f;
  color: #fff;
  background: #c53727;
  /* @alternate */ background-image:-webkit-linear-gradient(top, #dd4b39, #c53727);
  /* @alternate */ background-image:linear-gradient(top, #dd4b39, #c53727);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}
.cm-button.cm-create:active, .cm-button.cm-wipe:active {
  border: 1px solid #992a1b;
  background: #b0281a;
  /* @alternate */ background-image:-webkit-linear-gradient(top, #dd4b39, #b0281a);
  /* @alternate */ background-image:linear-gradient(top, #dd4b39, #b0281a);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Build info */
.cm-build-info {
  cursor: default;
  position: absolute;
  font-size: 10px;
  color: #fff;
  right: 0;
  bottom: 0;
  padding: 2px 3px;
  z-index: 1;
  opacity: 0; /* developers have to know where to look for it */
}

.cm-build-info:hover {
  color: #888;
  background: #eee;
  opacity: 1;
}

/* Mouse lat/lng coordinates */
.cm-lat-lng {
  position: absolute;
  font-size: 12px;
  width: 400px;
  left: 0;
  bottom: 0;
  padding: 2px 6px;
  z-index: 1
}

/* Arranger panel with draggable elements */
.cm-arranger {
  opacity: 1.0 !important;
  cursor: move;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.cm-arranger .cm-button-area {
  margin: 21px 0 5px 20px;
}
.cm-panel-float > .cm-arranger {
  height: inherit !important;
}
.cm-arranger-inner {
  padding: 10px 20px 10px 20px;
  position: absolute;
  overflow-y: auto;
  left: 0;
  right: 0;
  bottom: 0;
  top: 54px;
}
.cm-arranger.cm-arranger-popup {
  width: 100%;
  height: auto;
  overflow-y: auto;
}
.cm-arranger-popup > .cm-arranger-inner {
  position: static;
}

.cm-draggable-layer {
  cursor: move;
  margin: 0 2px 0 0;
}
.cm-draggable-layer-title {
  display: inline-block;
  line-height: 36px;
  background-position-y: 46%;
  padding-left: 18px;
  white-space: nowrap;
}
.cm-draggable-layer-bg {
  background: url('icon_check.png') no-repeat left !important;
}
.cm-draggable-folder-bg {
  background: url('icon_folder.png') no-repeat left !important;
}
.cm-active-draggable-layer {
  border: 1px dotted #e0e0e0;
  margin-top: -1px;
  margin-left: -9px;
  padding-left: 8px;
  color: #e0e0e0;
}
.cm-draggable-sublayer-container {
  margin-left: 20px;
}
.cm-dragged-clone {
  margin: 0 0 0 0;
  padding-right: 18px;
  position: absolute;
  background-color: #ccc;
  z-index: 1;
  opacity: 0.4;
  white-space: nowrap;
}
.cm-drop-target-line {
  height: 2px;
  margin-bottom: -2px;
  background-color: #000000;
  text-align: center;
  width: 100px;
  white-space: nowrap;
}

/* Navigation links */
.cm-nav-list {
  background-color: white;
  border-right: 1px solid #ccc;
  bottom: 25px;
  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  color: #222;
  font-size: 13px;
  list-style-type: none;
  margin: 0;
  opacity: 0.9;
  padding: 10px 20px;
  position: absolute;
  width: 266px; /* + padding & border = 307px, to match .cm-panel's width */
  z-index: 2;
}

.cm-panel-right .cm-nav-list {
  right: 312px;
}

/* If the panel is docked on the right, and is currently collapsed or embedded,
   move the navigation view to the right side of the viewport. */
.cm-panel-right.cm-embedded .cm-nav-list,
.cm-panel-right.cm-panel-collapsed .cm-nav-list {
    right: 5px;
}

.cm-panel-left.cm-panel-dock .cm-nav-list {
  left: 312px;
}

.cm-panel-left.cm-panel-dock .cm-nav-list.cm-above-attribution {
  bottom: 25px;
}

.cm-panel-left.cm-embedded .cm-nav-list,
.cm-panel-left.cm-panel-collapsed .cm-nav-list,
.cm-panel-left.cm-panel-float .cm-nav-list {
  left: 5px;
}

.cm-nav-item {
  display: inline;
  margin: 0;
  padding: 0;
}

.cm-nav-item.cm-nav-item-undelimited {
  margin-left: 10px;
}

.cm-nav-compact .cm-nav-item {
  display: block;
}

.cm-nav-item.cm-nav-item-undelimited:first-child {
  margin-left: 0;
}

.cm-nav-compact {
  font-size: 11px;
  padding: 4px 8px;
  width: 220px;
}

.cm-nav-list.cm-nav-compact {
  display: block;
  width: 120px;
}

.cm-nav-compact .cm-nav-item.cm-nav-item-undelimited {
  margin-left: 0;
}

.cm-nav-item.cm-nav-item-undelimited .cm-nav-item-separator,
.cm-nav-compact .cm-nav-item .cm-nav-item-separator {
  display: none;
}

/* Indent word-wrapped lines of link text, if any. */
.cm-nav-compact .cm-nav-item a {
  display: block;
  padding-left: 10px;
  text-indent: -10px;
}

/* Render the logo in the bottom left corner of the visible map. */
.cm-logo-watermark {
  bottom: 5px;
  left: 35px;
  position: absolute;
  z-index: 1;
}

/* If the panel is docked on the left, place the logo to the right of the
   panel, in the bottom left corner of the visible map. */
.cm-panel-left .cm-logo-watermark {
  left: 312px;
}


/* If the panel is docked on the left and is currently embedded, collapsed,
   or floating, move the logo view to the left side of the viewport. */
.cm-panel-left.cm-embedded .cm-logo-watermark,
.cm-panel-left.cm-panel-collapsed .cm-logo-watermark,
.cm-panel-left.cm-panel-float .cm-logo-watermark {
  left: 5px;
}
